[t:/]$ 지식_

C언어의 생산성..

2015/08/05

프로그래밍 언어의 생산성이라는 것은 도메인에 따라 케바케이므로 때때로 중요한 논의이지만 때때로 넌센스인 경우도 많다.

C언어의 생산성이라는 것은 보통 후지다고 한다.

내가 C인으로서 변명하자면 꼭 생산성이 후진 것만은 아닌데, 문제는 있다. (C++은 못하기 때문에 논외로 한다.)

C언어 도메인에 맞는 과제라 할 지라도 C언어의 생산성이 높다라고 말할 수 있을 때는 조건이 많이 붙는다.

먼저 개발자 구성이 숙련 C 프로그래머로 구성되어 있어야 한다. C로 짠 코드는 잘 짜면 잘 돌지면 못 짜면 등신이다. (생각해보니 어느 언어라고 안 그럴까 싶지만... 사고 치기는 C가 쉽다.) 그런데 숙련 C 프로그래머로 팀을 구성하기가 쉽지 않다.

그 중에 어플리케이션 영역의 C언어 개발자라면, 구시대의 코볼 프로그래머 선배님들과도 비슷한 느낌이다. 한 사람의 결원 공백이 크다. 때때로 C언어로 개발하는 것은 그 옛날 CMM에서 욕하던 영웅주의 개발이 되기 쉽다. 기업입장에서 일은 쳐내야 되는데 영웅을 구하기가 어렵다. 고임금을 주면서도 은근히 퇴물 취급을 한다. 어서 이 와꾸가 파괴되길 바란다. 메인프레임에서 쓰리티어로 서버 클라로 옮겨오던 시절 이래저래 마이그레이션 할 수 없던 시스템을 담당하던 어떤 코볼 개발자 선배님의 모습이다. (아참, 나는 고임금이 아니다. 갑자기 좀 슬프네)

나는 영웅주의 개발을 무조건 나쁘다고 생각하지는 않는다. 다만, 착한 영웅과 나쁜 영웅이 있다면 나쁜 영웅이 만드는 나쁜 선례가 문제다. 특히 geeky 속성 중 힙스터 잘난척에 특화된 흑마법사가 레파짓에 흑마법을 싸놓고 돌아다닌다면 더욱 문제가 된다. 나도 프로그래밍으로 생산적 업무를 하는 것 보다는 창의적 예술을 하는 쪽을 좋아하는 편이긴 하지만 회사에서 돈받고 동료들과 같이 일하는 조직의 SCV라면 커맨드 센터의 지시와 동료들의 분위기에는 리듬을 맞춰야 된다. 혼자 잘난척 하고 예술가 흉내를 내고 다니면 가끔 칭송은 들을지언정 기업이 원하는 사람은 아니다.


언어별 개발자의 관심사나 컬러는 사뭇다르다. 자바를 제대로 공부하고자 했을 때 내가 제일 먼저 까본 것은 unsafe 였다. 근데 뒤돌아보니 그건 틀린 것이였다. 애써 추상화 시킨 것이다. 꽁꽁 싸매놓은 것은 신경끄라는(일단은) 언어의 철학을 거스른 것이다. (물론, 숙련자가 아니라도 unsafe를 관심갖고 까볼 필요는 있지만 언어의 철학에 얼라인 한 사람이 까보는 것과 준비 안 된 사람이 까보는 것과는 어프로치가 다를 것이다)


어쨌든, 도메인에 따라서 환경에 따라서 C언어도 충분히 생산성 있는 부분은 있다. 앞서 말한 것 외에도 조건이 많이 따라붙지만. 요즘 하는 APR은 꽤 생산성 있는 개발이다. alloc과 free에서 자유롭다. 문자열 연산이 자유롭다. 이것만으로 생산성이 파파팍 올라갔다. 커뮤니티 지원은 거의.. 아니 그냥 없다. 분명 한계가 있다.


적어도 국내에서는... 현대 S/W 개발 환경에서 시스템 프로그래밍의 자취가 거의 사라진 것 같다. 요즘에 시스템 프로그래밍이라는 것은 거의 임베디드 OS의 디바이스 드라이버 개발이나 포팅 정도를 일컫는 것 같은데, 파일시스템이라든지 어정쩡한 레이어로는 웹서버나 DBMS 라든지 원래는 더 넓은 영역이다. 그 영역의 대부분을 오픈소스가 가져갔다. 있는 거 왜 만들어요? 아 네.. 궁금해서요. 나도 할 수 있어서요. 그러면 취미로 하세요. 깃헙의 그들 보다 못할 뿐만 아니라 커미터할 능력도 없는 주제에. 네...


나는 사실 C프로그래머라는 말은 안 좋아한다. 그냥 개발자면 개발자지. 다른 것을 해야 하거나 마침 관심있는데 일이 부여된다면 무엇이든 열심히 해볼 자세가 되어 있는 열린 개발자입니다. 헤드헌터 분들은 이점을 참고해주세요. 다만 전공과 부전공 같은 것은 있는 것 같다.

10대 해커들이 있다. 보통 천재 해커라고도 하지만 그저 그런 10대 프로그래머도 많다. 저들은 그러니까 컴퓨터를 접한 후 수년 안에 저정도의 스킬을 갖춘 것이다. 나는 천재는 아니지만 그저 그런 만큼은 할 수 있을 것이다. 모든 컴퓨터 공학의 산물은 마음만 먹으면 금방 따라잡을 수 있는 것이라고 생각했다. 그런데 자바만 10년 한 사람들을 보고는 생각을 바꿔먹었다. 내가 자바를 더듬더듬 1, 2년 한다고 저들만큼 할 수 있을까? 아니다. 못한다. 내가 새로운 언어를 장착하고 그 언어로 팀에 기여하려면 그 언어로 에이끕 기여를 하려고 하면 안된다. 나보다 뛰어난 사람들이 이미 많응게. 오히려 이쪽 사람들(?)이 낯선 무언가를 들고와서 통섭할 생각을 해야한다. 그래야 기여할 것이 있다. 다만, 마이너리티 리포트는 주로 묵살당한다.


오늘도 글쓰기 실패.

사실은 실력있는 힙스터가 되고 싶었습니다 감독님. 무엇이든 해결해드립니다 돈을 주시오. 많이 주시오. 이러고 다닐 수 있었으면 좋았겠지만 이번 생에서는 글른듯. 무간도를 다시 볼 시점입니다. 나는 그저 좋은 개발자가 되고 싶었을 뿐인데! 나는 그저 좋은 개발자가 되고 싶었을 뿐인데!





공유하기













[t:/] is not "technology - root". dawnsea, rss